package com.yeung.actions;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import java.io.File;
import java.io.IOException;
import java.net.URL;

/**
 * spinrg mvc 为文件的上传提供了直接的支持, 这种支持是铜鼓哦即插即用的MultipartResolver实现的, Spring用
 * Jakarta Commons FileUpload 技术实现了一个MultipartResolver实现类:
 * <p>
 * CommonsMultipartResovler
 * <p>
 * Spring Mvc上下文中默认没有装配MultipartResovler , 因此默认情况下不能处理文件上传工作
 * ,如果想使用spring的文件上传功能, 需要配置MultipartResolver 以及加入jar包[
 */
@Controller
public class UploadFileTest {

    @RequestMapping("/upload")
    public void upload(String desc, HttpServletRequest request,
                       MultipartFile file) throws IOException {
        if (!file.isEmpty()) {
            System.out.println("desc " + desc);
            URL dir = request.getServletContext().getResource("files");
            System.out.println(dir.getFile());
            System.out.println(dir.getPath());
            file.transferTo(new File(dir.getPath() + file.getOriginalFilename()));
        }

    }

}
